"""
Celery配置模块
初始化异步任务队列设置
"""
import os
from celery import Celery
from celery.schedules import crontab

# 设置Django默认配置模块
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'hostmgr.settings')

app = Celery('hostmgr')
app.config_from_object('django.conf:settings', namespace='CELERY')
app.autodiscover_tasks()

# 定时任务配置
app.conf.beat_schedule = {
    'rotate-passwords': {
        'task': 'assets.tasks.rotate_passwords',
        'schedule': 28800,  # 8小时（单位：秒）
        'options': {'expires': 3600}  # 任务过期时间
    },
    'daily-stats-collection': {
        'task': 'assets.tasks.daily_stats',
        'schedule': crontab(minute=0, hour=0),  # 每天午夜
        'kwargs': {'force_update': True}
    }
}